package koby99.swing.outline;

import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Image;
import java.awt.image.BufferedImage;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class J25_JPanel2Image extends JFrame {

	public J25_JPanel2Image() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(150,150,450,350);
		setTitle("이미지 출력");
		setLayout(new BorderLayout());
		
		//이미지 객체 생성
		//이미지에 대한 확대/축소 작업을 위해
		//먼저 이미지를 메모리로 불러들여야 함
		//이때 사용하는 클래스가 BufferedImage 임
		BufferedImage image = null;
		try{
				image = ImageIO.read(getClass().getResource("/images/sajin.jpg"));}
		catch(Exception ex){
			ex.printStackTrace();
		}
		
		//이미지를 지정한 크기로 축소
		Image resizeimg =
				
				image.getScaledInstance(450, 300,Image.SCALE_SMOOTH);
		
		// JLabel에 이미지 지정후 JFrame에 추가
		 getContentPane().add( new JLabel(new ImageIcon( resizeimg ) ) );
		 
		 setVisible( true);
	}
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			@Override
			public void run() {
				new J25_JPanel2Image();
			}
		});
		
	}

}
